﻿using System;
using System.Threading;

namespace SanFS.MediaChangerService
{
    public delegate void JobRequestCompleteHandler(IJobRequest Request);

    public enum JobStates
    {
        Pending,
        Executing,
        Completed,
        Error,
    }

    public interface IJobRequest
    {
        JobStates                       State { get; }
        ManualResetEvent                WaitEvent { get; }
        Exception                       ErrException { get; }
        MediaChangerService             Service { get; }
        TimeSpan                        EstimatedTTC { get; }
        event JobRequestCompleteHandler Completed;
    }  // END INTERFACE
}  // END NAMESPACE
